Se extiende el Módulo vector con las operaciones BuscarBinariamente y agregarOrdenado:


ibuscarBinariamente(in x:alpha, in arreglo: vector(tupla<autor: alpha, conjunto: puntero(conj(alpha)))) -> res: tupla<alpha, puntero(conj(alpha))>
izq <- 0
der <- long(arreglo) - 1
	while (izq + 1 < der)
		medio <- (izq + der)/2
		if ( arreglo[medio].autor <= x )
			izq = medio;
		else
			der = medio;
		endif
	end while
res <- arreglo[izq]
end function

iagregarOrdenado(in/out: arreglo: vector(tupla<autor: alpha, conjunto: puntero(conj(alpha))), in nuevo tupla<elem:alpha, otro:conjunto(puntero(conj(alpha))))
actual <- 0
longitud <- longitud(arreglo)
while(nuevo.elem < arreglo[actual].autor && actual < longitud )
	actual <- actual + 1
end while
agregar(arreglo, actual, nuevo);
end function